package com.xh.lesson.utils;


import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
//import com.baomidou.mybatisplus.generator.AutoGenerator;
//import com.baomidou.mybatisplus.generator.config.*;
//import com.baomidou.mybatisplus.generator.config.po.TableFill;
//import com.baomidou.mybatisplus.generator.config.rules.DateType;
//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

import java.util.ArrayList;
import java.util.List;

public class CodeGenerator {
        /**
         * <p>
         * 读取控制台内容
         * </p>
//         */
        public static void main(String[] args) {
            // 代码生成器
//            AutoGenerator mpg = new AutoGenerator();
//
//            // 全局配置
//            GlobalConfig gc = new GlobalConfig();
//            String projectPath = System.getProperty("user.dir");
//            gc.setOutputDir(projectPath + "/src/main/java");
//            gc.setAuthor("柴&许");
//            gc.setOpen(false);
//            gc.setFileOverride(false);
//            gc.setServiceName("%sService");
//            gc.setMapperName("%sdMapper");
//            gc.setControllerName("%sController");
//            gc.setServiceImplName("%sServiceImpl");
//            gc.setIdType(IdType.ASSIGN_ID);
//            gc.setDateType(DateType.ONLY_DATE);
//            mpg.setGlobalConfig(gc);
//
//            // 数据源配置
//            DataSourceConfig dsc = new DataSourceConfig();
//            dsc.setUrl("jdbc:mysql://localhost:3306/house?useUnicode=true&useSSL=false&characterEncoding=utf8");
//            // dsc.setSchemaName("public");
//            dsc.setDriverName("com.mysql.cj.jdbc.Driver");
//            dsc.setUsername("root");
//            dsc.setPassword("123456");
//            dsc.setDbType(DbType.MYSQL);
//            mpg.setDataSource(dsc);
//
//            // 包配置
//            PackageConfig pc = new PackageConfig();
//            pc.setModuleName("lesson");
//            pc.setParent("com.xh");
//            pc.setEntity("entity");
//            pc.setMapper("mapper");
//            pc.setService("service");
//            pc.setController("controller");
//            mpg.setPackageInfo(pc);
//
//            // 策略配置
//            StrategyConfig strategy = new StrategyConfig();
//            strategy.setNaming(NamingStrategy.underline_to_camel);
//            strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//
//            strategy.setEntityLombokModel(true);
//            strategy.setRestControllerStyle(true);
//            strategy.setLogicDeleteFieldName("deleted");
//            TableFill createTime = new TableFill("createTime", FieldFill.INSERT);
//            TableFill updateTime = new TableFill("updateTime", FieldFill.INSERT_UPDATE);
//           List<TableFill> tableFills = new ArrayList<>();
//            tableFills.add(createTime);
//            tableFills.add(updateTime);
//            strategy.setTableFillList(tableFills);
//
//
//            strategy.setInclude("sys_house_fun");
//            strategy.setControllerMappingHyphenStyle(true);
//
//            mpg.setStrategy(strategy);
//
//            mpg.execute();
        }
}
